<?php
 include "counter.php";

pagestart();
?>
<html>
<?php pagehead("Translation Guidelines") ?>
<BODY bgcolor="white">
<?php pagetop("Translation Guidelines") ?>

Internationalization of the Linux Counter is handled using gettext functionality. This way, we are able to create so-called portable object files (filename.po) with original strings and, in time, their translations. Using these portable object files, message object files (filename.mo) are created which are used as quick access, binary language files. These are then used by the web pages and scripts to present strings in the right language.
<p>
The portable object files are the ones which are sent out for translation. These files have a format which I'll explain below:

<pre>
"Project-Id-Version: Linux Counter 1.0\n"
"POT-Creation-Date: 2005-01-03 08:12+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME &lt;EMAIL@ADDRESS&gt;\n"
"Language-Team: LANGUAGE &lt;translate@counter.li.org&gt;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#: credits.php:9
msgid "Credits"
msgstr ""
</pre>
<p>

<ol>
<li><b>"Project-Id-Version : Linux Counter 1.0\n"</b> : The version of this Project file. <em>Not to be changed by translators</em></li>
<li><b>"POT-Creation-Date: 2005-01-03 08:12+0000\n"</b> : Creation date of this file. <em>Not to be changed by translators</em></li>
<li><b>"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"</b> : Revision date of this file. The date you have finished the translations and sent back this file. <em>To be changed by translators.</em></li>
<li><b>"Last-Translator: FULL NAME &lt;EMAIL@ADDRESS&gt;\n"</b> : Full name and email address of translator(s). <em>To be changed by translators.</em> Please fill in your email address as other translators of your language should have the possibility to ask questions. Email addresses will be kept private</li>
<li><b>"Language-Team: LANGUAGE &lt;<?php print emailCloaking("translate@counter.li.org", 0) ?>&gt;\n"</b> : Language of translation in this file. <em>To be changed by translator. Please don't change the email address</em></li>
<li><b>"MIME-Version: 1.0\n"</b> : <em>Not to be changed</em></li>
<li><b>"Content-Type: text/plain; charset=CHARSET\n"</b> : Character set of the translation. Something like iso-8859-1. <em>To be changed by translators to the charset they use when writing the file. If in doubt, and you can, use UTF-8.</em></li>
<li><b>"Content-Transfer-Encoding: 8bit\n"</b> : <em>Not to be changed</em></li>
<li><b>#: credits.php:9"</b> : Comment with filename(s) and line number(s) were this string appears. Can be usefull to find out in what context a string is used. Prepend the filename with http://i18n.counter.li.org to view the content in a browser. <em>Not to be changed</em></li>
<li><b>msgid "Credits"</b> : Original, English string<em>Do not change the string after msgid</em></li>
<li><b>msgstr ""</b> : Between the double quotes, the translation in your language of the string in the previous msgid. <em>To be changed by translators</em></li>
</ol>

<h2>Translation process</h2>
To smoothly handle the flood of translations I'll try to follow the following process:
<ul>
<li>At this page I'll add a section mentioning the status of a language translation knowing the following states:
  <ul>
  <li><b>Finished + date</b> : The current portable object file is completely translated</li>
  <li><b>In progress + date + translator name</b> : One of our translators is translating the portable object file</li>
  <li><b>Incomplete + date</b> : We have added new strings to the portable object file and somebody needs to offer to translate them or the translator had no time to completely translate the portable objects file. Nobody is currently translating this file</li>
  </ul></li>
<li>Once a month, when needed, we will make available a new portable objects file with freshly added strings to be translated. This will be announced at the <?php print emailCloaking("translate@counter.li.org", 0) ?> mailinglist. Status will be changed. (You can subscribe to this list by sending the word <b>subscribe</b> in the body of an email to <?php print emailCloaking("translate-request@counter.li.org", 0) ?>)</li>
<li>When you are in the mode to do translations for a language, please announce it at the translate mailinglist and you are send the portable objects file.</li>
<li>When you have (partly) finished translations and want to see the result, please mail your portable objects file to <?php print emailCloaking("linuxcounteri@patrickr.xs4all.nl", 0) ?>. I'll then make sure it will be taken care of. I'll also send a note to the translator when translations are available at the site.</li>
<li>One month after starting with translations for a language I'll personally start asking the translator for the current state of translations. This will then be repeated every month untill finished...... </li>
</ul>

<h2>Translation Guidelines</h2>
As problems can occur during translations, below I'll try to define some guidelines which have to be followed during translations:
<ul>
<li>Sometimes sentences contain html tags like &lt;em&gt;. These could have been left out, splitting the sentence to be translated in a couple of parts. To make life easier we didn't split up these sentences and kept in the html tags. Please use them in your translation too.</li>
<li>When strings contain single or double quotes, please escape those quotes in your translations using a backslash, like this: \"</li>
<li>Sometime you'll see a comment <b>#, fuzzy</b>. New msgids to be translated are merged into the portable object file using a the command msgmerge. This command tries to find out whether there already exists a translation for a new msgid. Sometimes it thinks there is, but being in doubt, it adds the comment <b>#, fuzzy</b> above the msgid. Normally those translations are WRONG and need attention. After correcting them please remove the <b>#, fuzzy</b> lines from the file.
<li>Another comment to be found is <b>#, c-format</b>. This means the string to be translated has some parameters for the printf command in it. These parameters can be recognized by the %-sign they are prepended with. To keep things working, DON'T CHANGE THE ORDER OF THESE PARAMETERS IN THE TRANSLATED STRING!!</li>
<li>Last but not least, when textual site updates happen, sentences to be translated will change. The msgmerge command will move sentences and their translations which are no longer needed to the end of the portable object file and make them comments. As these translations can still be usefull for you I shall leave them in the file. Please verify those translations and remove them from the file when you don't need them anymore. Otherwise the portable object file will become enormous.</li>
</ul>
<p>
Although I have tried to get out most of the stupidities, almost equal strings and other stuff, it will surely be possible that you find strings which should somehow be handled before translation. Please mail these kind of concerns to <?php print emailCloaking("linuxcounter@patrickr.xs4all.nl", 0) ?> and I'll have a look.
<p>
Good luck !
<p>
<a name="translationteam"></a>
<h2>Current translation state</h2>
<table border=0 cellspacing=10>
<tr><th>Language</th><th>State</th><th>Version</th><th>Since date</th><th>Translator</th></tr>
<tr><td>Albanian</td><td>In progress</td><td>??</td><td>18-01-2005</td><td>Genc B. Kastrati</td></tr>
<tr><td>Bengali</td><td>In progress</td><td>??</td><td>07-04-2005</td><td>Russell John</td></tr>
<tr><td>Brazilian Portuguese</td><td>Finished</td><td>1.5</td><td>09-11-2005</td><td><em>Igor Vitorio Custodio</em></td></tr>
<tr><td>Bulgarian</td><td>In progress</td><td>1.5</td><td>29-11-2005</td><td>Marian Marinov</td></tr>
<tr><td>Catalan</td><td>In progress</td><td>1.5</td><td>01-05-2005</td><td>Eduard Selma</td></tr>
<tr><td>Danish</td><td>Incomplete</td><td>1.5</td><td>30-12-2006</td><td><!-- Tim R&oslash;rstr&oslash;m, Carsten B. Jensen --></td></tr>
<tr><td>Dutch</td><td>Finished</td><td>1.5</td><td>29-10-2005</td><td><em>Patrick Reijnen</em></td></tr>
<tr><td>Farsi</td><td>In progress</td><td>??</td><td>13-02-2005</td><td>Dawood Morady Garawand</td></tr>
<tr><td>Finnish</td><td>In progress</td><td>1.4</td><td>28-06-2005</td><td>Jyri-Petteri Paloposki</td></tr>
<tr><td>Flemish</td><td>In progress</td><td>??</td><td>22-03-2005</td><td>Andy Pieters</td></tr>
<tr><td>French</td><td>In progress</td><td>1.5</td><td>05-01-2005</td><td>Vinc&egrave;n Pujol</td></tr>
<tr><td>Georgian</td><td>In progress</td><td>1.4</td><td>11-08-2005</td><td>Aiet Kolkhi</td></tr>
<tr><td>German</td><td>In progress</td><td>1.5</td><td>01-02-2006</td><td>Steffen Sauer, Dirk Schneider (former translator)</td></tr>
<tr><td>Georgian</td><td>In progress</td><td>1.4</td><td>11-08-2005</td><td>Aiet Kolkhi</td></tr>
<tr><td>Greek</td><td>In progress</td><td>1.5</td><td>19-01-2005</td><td>Elias Sofronas</td></tr>
<tr><td>Hindi</td><td>In progress</td><td>??</td><td>02-06-2005</td><td>Dhananjaya Sharma</td></tr>
<tr><td>Hungarian</td><td>In progress</td><td>1.4</td><td>06-01-2005</td><td>Mih&aacute;ly Gyulai</td></tr>
<tr><td>Indonesia</td><td>In progress</td><td>1.5</td><td>12-11-2005</td><td>Tamami</td></tr>
<tr><td>Italian</td><td>In progress</td><td>1.5</td><td>19-02-2006</td><td>David Paleino, Vincenzo Ing. Virgilio, Antenore Gatta</td></tr>
<tr><td>Iranian</td><td>In progress</td><td>1.4</td><td>23-07-2005</td><td>Ali Reza Piran</td></tr>
<tr><td>Kurdish</td><td>In progress</td><td>??</td><td>04-02-2005</td><td>Abdullah Ulas</td></tr>
<tr><td>Latvian</td><td>In progress</td><td>??</td><td>19-01-2005</td><td>Andrejs Silins</td></tr>
<tr><td>Norwegian</td><td>Finished</td><td>1.5</td><td>24-11-2005</td><td><em>Harald Alvestrand</em></td></tr>
<tr><td>Polish</td><td>In progress</td><td>??</td><td>31-01-2005</td><td>Marcin Sochacki, Marcin Orda</td></tr>
<tr><td>Portuguese</td><td>In progress</td><td>??</td><td>04-03-2005</td><td>Carlos Pina</td></tr>
<tr><td>Romanian</td><td>Incomplete</td><td>1.3</td><td>01-06-2005</td><td><!-- <em>Dorin Dumitru</em> --></td></tr>
<tr><td>Russian</td><td>In progress</td><td>1.5</td><td>19-11-2005</td><td>Alex Savvin</td></tr>
<tr><td>Serbian</td><td>In progress</td><td>1.3</td><td>01-02-2005</td><td>Aleksandar Urosevic</td></tr>
<tr><td>Slovak</td><td>In progress</td><td>??</td><td>22-03-2005</td><td>Jan Urbancik</td></tr>
<tr><td>Spanish</td><td>In progress</td><td>1.5</td><td>07-10-2006</td><td>Jorge Martinez, Yosu, Nestor Sertzen, AlvLin, Victor Hammersley, Miguel Angel</td></tr>
<tr><td>Swedish</td><td>In progress</td><td>1.5</td><td>29-10-2005</td><td>Alexander Brink</td></tr>
<tr><td>Tagalog</td><td>In progress</td><td>??</td><td>05-01-2005</td><td>Eric Pareja</td></tr>
<tr><td>Turkish</td><td>In progress</td><td>??</td><td>04-02-2005</td><td>Abdullah Ulas</td></tr>
<tr><td>Ukrainian</td><td>In progress</td><td>1.4</td><td>17-10-2005</td><td>Pavel Smirnov</td></tr>
</table>

<?php pagebottom("yes") ?>
</body>
</html>
